package com.itheima.d6_map_traverse;

import java.util.HashMap;
import java.util.Random;

/*
     目标：完成Map集合的案例：统计投票人数。

     需求
        某个班级80名学生，现在需要组织秋游活动，班长提供了四个景点依次是（A、B、C、D）
        每个学生只能选择一个景点，请统计出最终哪个景点想去的人数最多。

     分析
        将80个学生选择的数据拿到程序中去，[A,A,B,A,B,C,D,...]
        准备一个Map集合用于存储统计的结果，Map<String，Integer>，键是景点，值代表投票数量。
        遍历80个学生选择的景点，每遍历一个景点，就看Map集合中是否存在该景点，不存在存入“景点=1“，存在则其对应值+1,
 */
public class MapDemo4 {
    public static void main(String[] args) {
        //定义map集合存储学生数据
        //定义数组存储80个学生的选择
        String[] s = new String[80];
        //定义数组表示有几个选择
        String[]   s1 = {"A","B","C","D"};
        Random r = new Random();
        //遍历数组
        for (int i = 0; i < s.length; i++) {
            int i1 = r.nextInt(s.length);
            //将学生选择赋值给选择
            s1[i]=s[i];
        }
        //创建map集合，用来统计数据，
        HashMap<String, Integer> map = new HashMap<>();

        //统计，遍历数组,拿到选择后，根据情况尽心判断
        for (int i1 = 0; i1 < s1.length; i1++) {
            if(map.containsKey(i1)){
                //如果map中已经存在，就加一
                Integer i = map.get(s1[i1]);
                map.put(s1[i1],i+1);
            }else{
                //如果不存在，放下数据，等于1，等下次判断存在在原有的基础上加1
                map.put(s1[i1],1);
            }
        }
        System.out.println(map);




    }
}
